package com.gengzp.ops.service;

import com.gengzp.common.model.database.req.AddSysDatabaseReq;
import com.gengzp.common.model.database.req.EditSysDatabaseReq;
import com.gengzp.common.model.database.req.PageSysDatabaseReq;
import com.gengzp.common.model.database.resp.PageSysDatabaseResp;
import com.gengzp.common.model.database.resp.SearchSysDatabaseResp;
import com.gengzp.common.model.pagination.resp.PaginationResult;

/**
 * @ClassName IDatabaseService
 * @Description 数据库管理服务层接口
 * @Author gengzp
 * @Date 2025/7/7 19:26
 */
public interface ISysDatabaseService {

    /**
     * 添加数据库连接信息
     *
     * @param req 添加数据库请求实体
     */
    void addSysDatabase(AddSysDatabaseReq req);

    /**
     * 编辑数据库连接信息
     *
     * @param req 编辑数据库请求实体
     */
    void editSysDatabase(EditSysDatabaseReq req);

    /**
     * 根据id删除数据库连接信息
     *
     * @param sysDatabaseId 数据库id
     */
    void deleteSysDatabaseById(Long sysDatabaseId);

    /**
     * 分页查询系统数据库
     *
     * @param req 分页查询系统数据库请求实体
     * @return 分页查询系统数据库结果
     */
    PaginationResult<PageSysDatabaseResp> pageQuerySysDatabase(PageSysDatabaseReq req);

    /**
     * 根据id查询数据库信息详情
     *
     * @param sysDatabaseId 系统数据库id
     * @return 查询数据库信息详情结果
     */
    SearchSysDatabaseResp searchSysDatabaseById(Long sysDatabaseId);

}
